package com.py.framework.common;

import com.py.framework.core.filter.SecurityCheckFilter;

/**
 * 常量类
 *
 * @author Leegern
 * @date 2018年4月16日
 */
public class Constants {

    /**
     * 用户令牌
     **/
    public static final String Token = SecurityCheckFilter.Token;

    /**
     * 单个用户登录
     **/
    public static final String USER_SINGLE_ONLINE = "user:single:online";

    /**
     * 用户前缀
     **/
    public static final String USER_PREFIX_KEY = "user:unique:";

    /**
     * 用户实体
     **/
    public static final String USER_KEY = "userInfo";
    /**
     * 用户部门实体
     **/
    public static final String USER_OFFICE_KEY = "userOffice";
    /**
     * 用户菜单资源
     **/
    public static final String USER_MENU_KEY = "userMenu";
    /**
     * 所有区域
     **/
    public static final String ALL_AREA_KEY = "allArea";
    /**
     * 二级区域
     **/
    public static final String SEC_AREA_KEY = "secondArea";
    /**
     * 用户访问资源
     **/
    public static final String USER_RESOURCE_KEY = "userResource";

    /**
     * 数字0
     **/
    public static final int NUMBER_ZERO = 0;
    /**
     * 数字1
     **/
    public static final int NUMBER_ONE = 1;
    /**
     * 数字2
     **/
    public static final int NUMBER_TWO = 2;
    /**
     * 数字3
     **/
    public static final int NUMBER_THREE = 3;

    /**
     * 延迟执行时间(单位：秒)
     **/
    public static final int DELAY_TIME = 30;
    /**
     * 任务周期(单位：秒)
     **/
    public static final int PERIOD_TIME = 60 * 15;

    /**
     * 会话过期时间(10分钟)
     **/
    public static final int SESSION_EXPIRE = 10 * 60 * 1000;

    /**
     * 会话存储索引
     **/
    public static final int SESSON_DB_INDEX = 1;

    /**
     * 默认的队列大小
     **/
    public static final int DEFAULT_QUEUE_SIZE = 100000;
    /**
     * 默认的批处理写入数据库的最大数据条数
     **/
    public static final int DEFAULT_BATCH_SIZE = 50;
    /**
     * 插入队列的等待时间,单位毫秒
     **/
    public static final int OFFER_WAITING_TIME = 5100;
    /**
     * 批量写入数据库的间隔时间,单位毫秒
     **/
    public static final int POLL_WAITING_TIME = 5000;
    /**
     * 队列满的警报约束控制变量， 多次警报的间隔时间。 5分钟 1000 * 60 * 5
     **/
    public static final long QUEUE_FULL_ALERT_INTERVAL = 300000;

    /**
     * 消息状态：已读
     **/
    public static final int MSG_READ = 2;
    /**
     * 消息状态：未读
     **/
    public static final int MSG_UNREAD = 1;

    /**
     * 默认分页条数
     **/
    public static final int DEFAULT_PAGE_SIZE = 20;

    /**
     * 系统名称
     **/
    public static final String SYS_NAME = "系统管理";

    /**
     * 任务调度地址
     **/
    public static final String SCHEDULER_PATH = "/job/postToJob.do";

    /**
     * 工作流流程图片根目录
     **/
    public static final String DEFAULT_WF_ROOT_DIR = "/opt/workflow/images/";
}